package com.jdrx.sw.sewage.beans.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * sewage_materiel
 */
@Data
@ApiModel(value = "AiModelPO", description = "ai模型")
public class AiModelPO implements Serializable {
    private static final long serialVersionUID = -1206960462117924923L;

    @NotNull
    @Range(min = 1)
    @ApiModelProperty(value = "模型编码，唯一", required = true)
    private String code;

    @NotEmpty
    @Length(min = 1, max = 100)
    @ApiModelProperty(value = "模型名字", required = true)
    private String name;

    @NotEmpty
    @Length(min = 1, max = 100)
    @ApiModelProperty(value = "模型执行地址", required = true)
    private String url;

    @NotNull
    @ApiModelProperty(value = "返回值个数", required = true)
    private Integer retvalCount;

    @NotNull
    @ApiModelProperty(value = "模型描述", required = true)
    private String description;

    @NotNull
    @ApiModelProperty(value = "执行周期表达式，与xxl-job配置一致，用于xxl-job调度时匹配应该执行的模型", required = true)
    private String executionCycleCron;

    @NotNull
    @ApiModelProperty(value = "备注", required = true)
    private String remark;

    @NotNull
    @ApiModelProperty(value = "父模型code", required = true)
    private String parentCode;

    @NotNull
    @ApiModelProperty(value = "父模型名称", required = true)
    private String parentName;

    @NotNull
    @ApiModelProperty(value = "当前点位值", required = true)
    private Double parValue;

    @NotNull
    @ApiModelProperty(value = "报告编号前缀", required = true)
    private String identifier;
}